package com.shujia.day03;

public class Code11Functions {
    public static void main(String[] args) {
        /*
          方法的定义：
               格式：
            修饰符 返回值类型 方法名(参数类型 参数名1，参数类型 参数名2…) {
			    函数体;
			    return 返回值;
            }

            名词解释：
                修饰符： 目前所接触到的修饰符包括有 public static (暂时大家只要求记住这个写法就可以)
                返回值类型： 调用方法时，运行结束返回数据的数据类型 （Java是一个静态语言，所以数据必须要给定一个固定的数据类型）
                方法名： 名称需要使用标识符命名规则，驼峰命名法 第一单词小写，其他单词首字母大写 playGame  方法调用时，可以使用方法名(传参)调用
                参数：
                    形参：在方法定义时，小括号中给定的参数类型及参数名
                    实参：实际调用方法时，传入的具体值

                函数体(方法体): 方法要执行的逻辑代码
                return 结束整个方法，并且将方法的返回值进行返回
                返回值: 返回的具体值需要个返回值类型保持一致

            注意：
                ① 方法定义后，如果需要调用，那么可以在方法内部通过方法名调用，不调用不执行
                ② 方法的内部，不能定义方法，但是方法内部可以调用
                ③ 对于方法有返回值的，需要用变量进行接受
                ④ 在方法调用时，传参时，可以调用另外一个方法，将返回结果作为参数进行传入
                ⑤ 方法定义的时候参数之间用逗号隔开
                ⑥ 如果方法有明确的返回值，一定要有return带回一个值



         */

        // 方法的调用 方法名(传参)
        playGame();


//        public static void playGame2(){
//            System.out.println("周六召唤师峡谷见...");
//        }

        int res = product(2, 3);
        System.out.println(res);

        System.out.println(product(2, 3));

        print(10);
    }


    // 定义一个方法，并没有返回值
    public static void playGame() {
        System.out.println("周六召唤师峡谷见...");
    }


    public static int product(int a, int b) {
        return  a * b;
    }


    public static void print(int n){
        for (int j = 0; j < n; j++) {
            // 将下面内容看成是一个循环体：
            for (int i = 0; i <= j; i++) {
                System.out.print("*\t");
            }
            // 每打印一行数据后，再对其进行换行
            System.out.println();
        }
    }

}
